//存放 分类 相关的路由（接口）
//1.加载express
const express = require('express');

//加载自定义的db模块
const db = require('../db');

//2.创建路由对象
const router = express.Router();

//3.把接口挂载到路由对象上
//---------------------------获取分类列表数据-------------------------
router.get('/cates', async (req, res) => {
    let r = await db('select * from category');
    // console.log(r);
    //如果成功，r就是执行sql的结果；如果查询失败，r=undefined
    if (r) {
        res.send({ status: 0, message: '获取文章分类列表成功!', data: r });
    } else {
        res.send({ status: 1, message: '获取文章分类列表失败!' });
    }
});

//---------------------------添加分类的接口-------------------------
router.post('/addcates', async (req, res) => {
    // console.log(req.body);//{ name: '军事', alias: 'junshi' }
    let r = await db('insert into category set ?', req.body);
    // console.log(r);
    //如果成功，r就是执行sql的结果；如果查询失败，r=undefined
    if (r && r.affectedRows > 0) {
        res.send({ status: 0, message: '添加分类成功!' });
    } else {
        res.send({ status: 1, message: '添加分类失败!' });
    }
});


//---------------------------编辑分类的接口-------------------------
router.post('/updatecate', async (req, res) => {
    // console.log(req.body);
    let sql = 'update category set ? where Id=?';
    let r = await db(sql, [req.body, req.body.Id]);
    //如果成功，r就是执行sql的结果；如果查询失败，r=undefined
    if (r && r.affectedRows > 0) {
        res.send({ status: 0, message: '更新分类成功!' });
    } else {
        res.send({ status: 1, message: '更新分类失败!' });
    }
});

//---------------------------删除分类的接口-------------------------
router.get('/deletecate/:id', async (req, res) => {
    //接收id   GET传参  服务器使用req.params接收url参数（动态参数）
    // console.log(req.params);//{ id: '8' }
    let id = req.params.id;
    // console.log(id);
    let r = await db('delete from category where Id=?', id);
    //如果成功，r就是执行sql的结果；如果查询失败，r=undefined
    if (r && r.affectedRows > 0) {
        res.send({ status: 0, message: '删除分类成功!' });
    } else {
        res.send({ status: 1, message: '删除分类失败!' });
    }

});

//4.导出路由对象
module.exports = router;